webservice

您所在的位置:网站首页 cxf jar包 webservice

webservice

#webservice | 来源: 网络整理| 查看: 265

webservice -CXF 原创

wx6433cca504e26 2023-04-10 17:01:23 博主文章分类:java ©著作权

文章标签 java xml spring apache 文章分类 JavaScript 前端开发

©著作权归作者所有:来自51CTO博客作者wx6433cca504e26的原创作品,请联系作者获取转载授权,否则将追究法律责任

第五章 web service cxf

web service出现的目的:为了支持“异构网络”中的应用程序之间交互出现的;

web service被定义成一组模块化的api,可以通过网络进行远程调用;web service是一个跨语言、跨平台的远程调用技术;

1. 使用场景

不同的公司系统之间的数据交互,注册微信公众号的公司和腾讯之间的交互数据,或者是电商平台与物流公司交互数据等

2.三要素WSDl

web服务定义描述语言

用于描述具体服务,定义客户端和服务端之间数据交互时传递的数据格式(请求和响应的数据)每一个web service对应为一个wsdl文档WSDL可以认为是web service说明书SOAP

简单对象访问协议,基于Http协议,使用XML传递消息; 它是一种轻量级的通信协议; 用于不同应用之间的通信; 使用Http协议进行通信; 独立于平台、编程语言,基于XML,简单并可扩展

3. webservice规范JAX-WS规范

全称:Java Api For Xml-Based WebService; 早期的时候是叫JAX-RPC(Java Api For Xml-Rmote Procedure Call); JAX-RPC目前已经被JAX-WS取代;

JDK5.0开始支持JAX-WS的2.0版本; JDK1.6.0_13版本开始支持JAX-WS的2.1版本 JDK7支持了JAX-WS的2.2版本

采用标准的Soap协议传输数据,Soap协议是基于应用层的Http协议,传输xml数据; 采用WSDL做为服务的描述语言;

JAX-RS规范

是Java针对REST风格的请求制定的一套web服务规范; 没有随着JDK1.6发布

支持JAX-RS规范的框架

CXFRESTEasy :JBOSS的RESTLet:比较早的rest框架,比JAX-RS规范还要早Jersey1.JDK自带的1.1 创建服务提供者import javax.jws.WebService; // 这个@WebService需要同时写在接口和实现类上 @WebService public interface HelloService { String sayHello(String name); }import com.etoak.service.HelloService; import javax.jws.WebService; @WebService public class HelloServiceImpl implements HelloService { @Override public String sayHello(String name) { System.out.println("server invoke"); return "Hello " + name; } }import com.etoak.service.impl.HelloServiceImpl; import javax.xml.ws.Endpoint; public class JdkServer { public static void main(String[] args) { // 参数一:服务地址 // 参数二:要发布的服务 Endpoint.publish("http://localhost:8000/hello", new HelloServiceImpl()); } }1.2创建客户端

在任意文件夹使用cmd窗口执行一下命令 wsimport http://localhost:8001/hello?wsdl,创建客户端

2.cxf3.cxf与spring整合3.1创建服务3.2创建客户端3.3如何发布一个webservice服务在web.xml中配置 cxf CXF org.apache.cxf.transport.servlet.CXFServlet config-location classpath:spring-cxf.xml 1 CXF /ws/* 创建配置文件 true 4.配置拦截器[官方]5.自定义拦截器6.实例,调用外部接口7. 发布接口

使用wsdl自带的命令发布客户端

wsimport http://localhost:8001/hello?wsdl

X. 错误集锦com.sun.xml.internal.ws.server.ServerRtException: Server Runtime

空指针异常,有可能是前端的连接写错了

Endpoint.publish("http://localhost:8000/hello", new HelloServiceImpl());

收藏 评论 分享 举报

上一篇:非关系型数据库 noSql - redis

下一篇:linux



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3